#ifndef __SCNS_W25QXX_H__
#define __SCNS_W25QXX_H__

#include "ScnsConfig.h"

#if defined(SCNS_W25QXX_ENABLE)&&SCNS_W25QXX_ENABLE==1

#include "ScnsYing.h"
#include "ScnsBspW25qxx.h"

extern ScnsStatus scnsW25qxxInit(ScnsW25qxxEnum w25N);
extern ScnsStatus scnsW25qxxRead(ScnsW25qxxEnum w25N,uint32 addr,uint8*data,uint32 size);
extern ScnsStatus scnsW25QxxEraseChip(ScnsW25qxxEnum w25N,uint64 timeOutUs);
extern ScnsStatus scnsW25qxxEraseSector(ScnsW25qxxEnum w25N,uint32 addr);
extern ScnsStatus scnsW25qxxWritePage(ScnsW25qxxEnum w25N,uint32 addr,const uint8 data[256]);
extern ScnsStatus scnsW25qxxWriteSector(ScnsW25qxxEnum w25N,uint32 addr,const uint8 data[4096]);
extern ScnsStatus scnsW25qxxTest(ScnsW25qxxEnum w25N,uint32 addr,uint32 dataBias,uint32 size,uint8 printDetail);
extern ScnsStatus scnsW25qxxEnterMemoryMapped(ScnsW25qxxEnum w25N);
extern ScnsStatus scnsW25qxxTestMemoryMapped(ScnsW25qxxEnum w25N,uint32 addr);
#endif
#endif
